<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  // console.log( "hello" );
  // console.log( 123 );
  // console.log( NaN );
  // console.log( true );
  // console.log( {} );
  // console.log( [] );
  // console.log( function(){} );
  // console.log( undefined );
  // console.log( null );

  console.log( typeof "{}" );
  console.log( typeof 1234 );
  console.log( typeof NaN );
  console.log( typeof true );
  console.log( typeof {} );
  console.log( typeof [] );
  console.log( typeof function(){} );
  console.log( typeof undefined );
  console.log( typeof null );

  // 计算机底层存储的数据都是二进制：0和1
  // 我们直接使用的数据，都会被转成二进制后，再被存储

  // 一段二进制数据的前两位用来标记数据类型

  // 对象数据，转成二进制后，前两位是00，前两位的00表示自身是一个object类型

  // typeof就是根据二进制的前两位检测数据的类型

  // null表示空，空地址，整个二进制数据，全都是0

  // 000000000

  var a;
  console.log(a);

  var b = null;
  console.log(b);

  var c = NaN;
  console.log(c);
  
  var d = "hello" - "world";
  console.log(d);

  var e = 1 / 0;
  console.log(e);
  console.log(typeof e);

</script>
</html>